home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / TeX-inputs / LaTeX / amslatex / amsbook.cls < prev    next >
Text File  |  1997-01-18  |  44KB  |  1,218 lines

  1. %% 
  2. %% This is file `amsbook.cls', generated 
  3. %% on <1996/11/5> with the docstrip utility (2.2i).
  4. %% 
  5. %% The original source files were:
  6. %% 
  7. %% amsclass.dtx  (with options: `amsbook')
  8. %%% ====================================================================
  9. %%%  @LaTeX-file{
  10. %%%     filename        = "amsclass.dtx",
  11. %%%     version         = "1.2q",
  12. %%%     date            = "1996/11/05",
  13. %%%     time            = "11:55:19 EST",
  14. %%%     checksum        = "63668 3423 13546 125878",
  15. %%%     author          = "American Mathematical Society",
  16. %%%     copyright       = "Copyright (C) 1996 American Mathematical Society,
  17. %%%                        all rights reserved.  Copying of this file is
  18. %%%                        authorized only if either:
  19. %%%                        (1) you make absolutely no changes to your copy,
  20. %%%                        including name; OR
  21. %%%                        (2) if you do make changes, you first rename it
  22. %%%                        to some other name.",
  23. %%%     address         = "American Mathematical Society,
  24. %%%                        Technical Support,
  25. %%%                        Electronic Products and Services,
  26. %%%                        P. O. Box 6248,
  27. %%%                        Providence, RI 02940,
  28. %%%                        USA",
  29. %%%     telephone       = "401-455-4080 or (in the USA and Canada)
  30. %%%                        800-321-4AMS (321-4267)",
  31. %%%     FAX             = "401-331-3842",
  32. %%%     email           = "tech-support@ams.org (Internet)",
  33. %%%     codetable       = "ISO/ASCII",
  34. %%%     keywords        = "latex, amslatex, ams-latex",
  35. %%%     supported       = "yes",
  36. %%%     abstract        = "This is part of the AMS-\LaTeX{} distribution.
  37. %%%                        It produces output conforming to the style
  38. %%%                        conventions of American Mathematical Society
  39. %%%                        publications.  The file \fn{amsclass.dtx} is
  40. %%%                        converted by the installation procedure
  41. %%%                        into three document classes:
  42. %%%                        \cls{amsart}, \cls{amsproc}, and \cls{amsbook},
  43. %%%                        which are intended, respectively,
  44. %%%                        for articles and books containing mathematical
  45. %%%                        research; both class files will also carry this
  46. %%%                        heading, and the particular class should be
  47. %%%                        determined from the external file name.",
  48. %%%     docstring       = "The checksum field above contains a CRC-16
  49. %%%                        checksum as the first value, followed by the
  50. %%%                        equivalent of the standard UNIX wc (word
  51. %%%                        count) utility output of lines, words, and
  52. %%%                        characters.  This is produced by Robert
  53. %%%                        Solovay's checksum utility.",
  54. %%%  }
  55. %%% ====================================================================
  56. \NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
  57. [1994/12/01]% LaTeX date must December 1994 or later
  58. \ProvidesClass{amsbook}[1996/11/05 v1.2q]
  59. \def\@tempa#1#2\@nil{\edef\@classname{#1}}
  60. \expandafter\@tempa\@currnamestack{}{}{}\@nil
  61. \ifx\@classname\@empty \edef\@classname{\@currname}\fi
  62. \DeclareOption{a4paper}{\paperheight 297mm\paperwidth 210mm
  63.   \textheight 54.5pc }
  64. \DeclareOption{letterpaper}{\paperheight 11in\paperwidth 8.5in }
  65. \DeclareOption{landscape}{\@tempdima\paperheight
  66.   \paperheight\paperwidth \paperwidth\@tempdima}
  67. \DeclareOption{portrait}{}
  68. \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
  69. \DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
  70. \DeclareOption{draft}{\overfullrule5\p@ }
  71. \DeclareOption{final}{\overfullrule\z@ }
  72. \newif\if@titlepage
  73. \DeclareOption{titlepage}{\@titlepagetrue}
  74. \DeclareOption{notitlepage}{\@titlepagefalse}
  75. \newif\if@openright
  76. \DeclareOption{openright}{\@openrighttrue}
  77. \DeclareOption{openany}{\@openrightfalse}
  78. \DeclareOption{onecolumn}{\@twocolumnfalse}
  79. \DeclareOption{twocolumn}{\@twocolumntrue}
  80. \DeclareOption{nomath}{}
  81. \def\mathfrak{needed}
  82. \DeclareOption{noamsfonts}{\let\mathfrak\relax}
  83. \DeclareOption{psamsfonts}{%
  84.   \PassOptionsToPackage{psamsfonts}{amsfonts}%
  85.   \PassOptionsToPackage{cmex10}{amsmath}}
  86. \newif\iftagsleft@
  87. \DeclareOption{leqno}{%
  88.   \tagsleft@true \PassOptionsToPackage{leqno}{amsmath}}
  89. \DeclareOption{reqno}{%
  90.   \tagsleft@false \PassOptionsToPackage{reqno}{amsmath}}
  91. \newif\ifctagsplit@
  92. \DeclareOption{centertags}{%
  93.   \ctagsplit@true \PassOptionsToPackage{centertags}{amsmath}}
  94. \DeclareOption{tbtags}{%
  95.   \ctagsplit@false \PassOptionsToPackage{tbtags}{amsmath}}
  96. \DeclareOption{fleqn}{%
  97.   \def\[{\relax
  98.     \ifmmode\@badmath
  99.     \else
  100.       \begin{trivlist}%
  101.       \@beginparpenalty\predisplaypenalty
  102.       \@endparpenalty\postdisplaypenalty
  103.       \item[]\leavevmode
  104.       \hbox to\linewidth\bgroup$\displaystyle
  105.       \hskip\mathindent\bgroup
  106.     \fi}%
  107.   \def\]{\relax
  108.     \ifmmode
  109.       \egroup \m@th$\hfil \egroup
  110.       \end{trivlist}%
  111.     \else \@badmath
  112.     \fi}%
  113.   \renewenvironment{equation}{%
  114.     \@beginparpenalty\predisplaypenalty
  115.     \@endparpenalty\postdisplaypenalty
  116.     \refstepcounter{equation}%
  117.     \@topsep\abovedisplayskip \trivlist
  118.     \item[]\leavevmode
  119.     \hbox to\linewidth\bgroup\hskip\mathindent$\displaystyle
  120.   }{%
  121.     \m@th$\hfil \displaywidth\linewidth \hbox{\@eqnnum}\egroup
  122.     \endtrivlist
  123.   }%
  124.   \renewenvironment{eqnarray}{%
  125.     \stepcounter{equation}\let\@currentlabel\theequation
  126.     \global\@eqnswtrue \global\@eqcnt\z@ \tabskip\mathindent
  127.     \let\\=\@eqncr \abovedisplayskip\topsep
  128.     \ifvmode \advance\abovedisplayskip\partopsep \fi
  129.     \belowdisplayskip\abovedisplayskip
  130.     \belowdisplayshortskip\abovedisplayskip
  131.     \abovedisplayshortskip\abovedisplayskip
  132.     $$\everycr{}\halign to\linewidth\bgroup
  133.       \hskip\@centering
  134.       $\displaystyle\tabskip\z@skip####\m@th$&%
  135.       \@eqnsel \global\@eqcnt\@ne
  136.       \hfil${}####{}\m@th$\hfil&%
  137.       \global\@eqcnt\tw@
  138.       $\displaystyle ####\m@th$\hfil\tabskip\@centering&%
  139.       \global\@eqcnt\thr@@
  140.       \hbox to \z@\bgroup\hss####\egroup\tabskip\z@skip\cr
  141.     }{%
  142.       \@@eqncr \egroup \global\advance\c@equation\m@ne$$%
  143.       \global\@ignoretrue
  144.     }%
  145.   \newdimen\mathindent \mathindent\leftmargini
  146. }
  147. \newcommand{\@mainsize}{10}
  148. \newcommand{\@ptsize}{0}
  149. \newcommand{\larger}[1][1]{%
  150.   \count@\@currsizeindex \advance\count@#1\relax
  151.   \ifnum\count@<\z@ \count@\z@ \else\ifnum\count@>12 \count@12 \fi\fi
  152.   \ifcase\count@
  153.     \Tiny\or\Tiny\or\tiny\or\SMALL\or\Small\or\small
  154.     \or\normalsize
  155.     \or\large\or\Large\or\LARGE\or\huge\or\Huge\else\Huge
  156.   \fi
  157. }
  158. \newcommand{\smaller}[1][1]{\larger[-#1]}
  159. \def\@adjustvertspacing{%
  160.   \bigskipamount.7\baselineskip plus.7\baselineskip
  161.   \medskipamount\bigskipamount \divide\medskipamount\tw@
  162.   \smallskipamount\medskipamount \divide\smallskipamount\tw@
  163.   \abovedisplayskip\medskipamount
  164.   \belowdisplayskip \abovedisplayskip
  165.   \abovedisplayshortskip\abovedisplayskip
  166.   \advance\abovedisplayshortskip-1\abovedisplayskip
  167.   \belowdisplayshortskip\abovedisplayshortskip
  168.   \advance\belowdisplayshortskip 1\smallskipamount
  169.   \jot\baselineskip \divide\jot 4 \relax
  170. }
  171. \renewcommand\normalsize{\@xsetfontsize\normalsize 6%
  172.   \@adjustvertspacing \let\@listi\@listI}
  173. \newcommand\Tiny{\@xsetfontsize\Tiny 1}
  174. \newcommand\tiny{\@xsetfontsize\tiny 2}
  175. \newcommand\SMALL{\@xsetfontsize\SMALL 3}
  176. \newcommand\Small{\@xsetfontsize\Small 4%
  177.   \@adjustvertspacing
  178.   \def\@listi{\topsep\smallskipamount \parsep\z@skip \itemsep\z@skip}}
  179. \newcommand\small{\@xsetfontsize\small 5\@adjustvertspacing}
  180. \def\footnotesize{\Small}
  181. \def\scriptsize{\SMALL}
  182. \newcommand\large{\@xsetfontsize\large 7\@adjustvertspacing}
  183. \newcommand\Large{\@xsetfontsize\Large 8\@adjustvertspacing}
  184. \newcommand\LARGE{\@xsetfontsize\LARGE 9}
  185. \newcommand\huge{\@xsetfontsize\huge{10}}
  186. \newcommand\Huge{\@xsetfontsize\Huge{11}}
  187. \def\@xsetfontsize#1#2{%
  188.   \chardef\@currsizeindex#2\relax
  189.   \edef\@tempa{\@nx\@setfontsize\@nx#1%
  190.     \@xp\ifcase\@xp\@currsizeindex\@typesizes
  191.       \else{99}{99}\fi}%
  192.   \@tempa
  193. }
  194. \chardef\@currsizeindex=6
  195. \widowpenalty=10000
  196. \clubpenalty=10000
  197. \brokenpenalty=10000
  198. \newdimen\linespacing
  199. \lineskip=1pt \lineskiplimit=1pt
  200. \normallineskip=1pt \normallineskiplimit=1pt
  201. \let\baselinestretch=\@empty
  202. \headheight=5pt \headsep=14pt
  203. \footskip=18pt
  204. \textheight=50.5pc \topskip=10pt
  205. \textwidth=30pc
  206. \columnsep=10pt \columnseprule=0pt
  207. \marginparwidth=90pt
  208. \marginparsep=11pt
  209. \marginparpush=5pt
  210. \AtBeginDocument{\settoheight{\footnotesep}{\footnotesize M$^1$}}
  211. \skip\footins=7pt plus11pt
  212. \skip\@mpfootins=\skip\footins
  213. \fboxsep=3pt \fboxrule=.4pt
  214. \arrayrulewidth=.4pt    \doublerulesep=2pt
  215. \labelsep=5pt           \arraycolsep=\labelsep
  216. \tabcolsep=\labelsep    \tabbingsep=\labelsep
  217. \floatsep=15pt plus 12pt    \dblfloatsep=15pt plus 12pt
  218. \textfloatsep=\floatsep  \dbltextfloatsep=15pt plus 12pt
  219. \intextsep=\floatsep
  220. \@fptop=0pt plus1fil     \@dblfptop=0pt plus1fil
  221. \@fpbot=0pt plus1fil     \@dblfpbot=0pt plus1fil
  222. \@fpsep=8pt plus2fil     \@dblfpsep=8pt plus2fil\relax
  223. \parskip=0pt \relax
  224. \newdimen\normalparindent
  225. \normalparindent=18pt
  226. \parindent=\normalparindent
  227. \partopsep=0pt \relax \parsep=0pt \relax \itemsep=0pt \relax
  228. \@lowpenalty=51         \@medpenalty=151        \@highpenalty=301
  229. \@beginparpenalty=-\@lowpenalty
  230. \@endparpenalty=-\@lowpenalty
  231. \@itempenalty=-\@lowpenalty
  232. \DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}%
  233.   \def\@typesizes{%
  234.     \or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}%
  235.     \or{10}{12}% normalsize
  236.     \or{\@xipt}{13}\or{\@xiipt}{14}\or{\@xivpt}{17}%
  237.     \or{\@xviipt}{20}\or{\@xxpt}{24}}%
  238.   \normalsize \linespacing=\baselineskip
  239. }
  240. \DeclareOption{11pt}{\def\@mainsize{11}\def\@ptsize{1}%
  241.   \def\@typesizes{%
  242.     \or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}%
  243.     \or{\@xipt}{13}% normalsize
  244.     \or{\@xiipt}{14}\or{\@xivpt}{17}\or{\@xviipt}{20}%
  245.     \or{\@xxpt}{24}\or{\@xxvpt}{30}}%
  246.   \normalsize \linespacing=\baselineskip
  247. }
  248. \DeclareOption{12pt}{\def\@mainsize{12}\def\@ptsize{2}%
  249.   \def\@typesizes{%
  250.     \or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}%
  251.     \or{\@xiipt}{14}% normalsize
  252.     \or{\@xivpt}{17}\or{\@xviipt}{20}\or{\@xxpt}{24}%
  253.     \or{\@xxvpt}{30}\or{\@xxvpt}{30}}%
  254.   \normalsize \linespacing=\baselineskip
  255. }
  256. \DeclareOption{8pt}{\def\@mainsize{8}\def\@ptsize{8}%
  257.   \def\@typesizes{%
  258.     \or{5}{6}\or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}%
  259.     \or{8}{10}% normalsize
  260.     \or{9}{11}\or{10}{12}\or{\@xipt}{13}%
  261.     \or{\@xiipt}{14}\or{\@xivpt}{17}}%
  262.   \normalsize \linespacing=\baselineskip
  263. }
  264. \DeclareOption{9pt}{\def\@mainsize{9}\def\@ptsize{9}%
  265.   \def\@typesizes{%
  266.     \or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}%
  267.     \or{9}{11}% normalsize
  268.     \or{10}{12}\or{\@xipt}{13}\or{\@xiipt}{14}%
  269.     \or{\@xivpt}{17}\or{\@xviipt}{20}}%
  270.   \normalsize \linespacing=\baselineskip
  271. }
  272. \def\ps@empty{\let\@mkboth\@gobbletwo
  273.   \let\@oddhead\@empty \let\@evenhead\@empty
  274.   \let\@oddfoot\@empty \let\@evenfoot\@empty
  275.   \global\topskip\normaltopskip}
  276. \def\ps@plain{\ps@empty
  277.   \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil}%
  278.   \let\@evenfoot\@oddfoot}
  279. \def\ps@headings{\ps@empty
  280.   \def\@evenhead{\normalfont\scriptsize
  281.       \rlap{\thepage}\hfil \leftmark{}{}\hfil}%
  282.   \def\@oddhead{\normalfont\scriptsize \hfil
  283.       \rightmark{}{}\hfil \llap{\thepage}}%
  284.   \let\@mkboth\markboth
  285.   \def\partmark{\@secmark\markboth\partrunhead\partname}%
  286.   \def\chaptermark{%
  287.     \@secmark\markboth\chapterrunhead{}}%
  288.   \def\sectionmark{%
  289.     \@secmark\markright\sectionrunhead\sectionname}%
  290. }
  291. \let\sectionname\@empty
  292. \let\subsectionname\@empty
  293. \let\subsubsectionname\@empty
  294. \let\paragraphname\@empty
  295. \let\subparagraphname\@empty
  296. \def\leftmark{\expandafter\@firstoftwo\topmark{}{}}
  297. \def\rightmark{\expandafter\@secondoftwo\botmark{}{}}
  298. \long\def\@nilgobble#1\@nil{}
  299. \def\@secmark#1#2#3#4{%
  300.   \begingroup \let\protect\@unexpandable@protect
  301.   \edef\@tempa{\endgroup \toks@{\@nx#2{#3}{\@secnumber}}}%
  302.   \@tempa
  303.   \toks@\@xp{\the\toks@{#4}}%
  304.   \afterassignment\@nilgobble\@temptokena\@themark{}\@nil
  305.   \edef\@tempa{\@nx\@mkboth{%
  306.     \ifx\markright#1\the\@temptokena\else\the\toks@\fi}{\the\toks@}}%
  307.   \@tempa}
  308. \let\@secnumber\@empty
  309. \def\markboth#1#2{%
  310.   \begingroup
  311.     \@temptokena{{#1}{#2}}\xdef\@themark{\the\@temptokena}%
  312.     \mark{\the\@temptokena}%
  313.   \endgroup
  314.   \if@nobreak\ifvmode\nobreak\fi\fi}
  315. \def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo}
  316. \newskip\normaltopskip
  317. \normaltopskip=10pt \relax
  318. \let\sectionmark\@gobble
  319. \let\subsectionmark\@gobble
  320. \let\subsubsectionmark\@gobble
  321. \let\paragraphmark\@gobble
  322.  
  323. \DeclareOption{makeidx}{}
  324. \input{amsgen.sty}
  325. \ExecuteOptions{leqno,centertags,letterpaper,portrait,%
  326.   10pt,twoside,onecolumn,final}
  327. \ProcessOptions\relax
  328. \if@compatibility
  329.   \def\@tempa#1{\let\mathfrak\relax
  330.     \RequirePackage{amstex}\relax}\expandafter\@tempa
  331. \else
  332.   \expandafter\@iden
  333. \fi
  334. {% if native mode
  335. \@ifclasswith{\@classname}{nomath}{%
  336.   \def\numberwithin#1#2{\@ifundefined{c@#1}{\@nocounterr{#1}}{%
  337.     \@ifundefined{c@#2}{\@nocounterr{#2}}{%
  338.     \@addtoreset{#1}{#2}%
  339.     \toks@\@xp\@xp\@xp{\csname the#1\endcsname}%
  340.     \@xp\xdef\csname the#1\endcsname
  341.       {\@xp\@nx\csname the#2\endcsname
  342.        .\the\toks@}}}}%
  343. }{%
  344.   \RequirePackage{amsmath}\relax
  345. }
  346. \@ifclasswith{\@classname}{noamsfonts}{%
  347. }{%
  348.   \let\mathfrak\relax
  349.   \IfFileExists{Umsa.fd}{%
  350.     \RequirePackage{amsfonts}\relax
  351.   }{%
  352.     \ClassError{\@classname
  353.     }{%
  354.       Font description files Umsa.fd et al. not found; amsfonts.sty
  355.       not loaded.
  356.     }{%
  357.       A font description (.fd) file is needed for every font being used;
  358.       these files may be in the inputs area along with other style and
  359.       class files, or in a dedicated subdirectory if your system uses
  360.       a TDS structure.
  361.     }%
  362.   }%
  363. }
  364. }% end native mode branch
  365. \newcommand{\uppercasenonmath}[1]{\toks@\@emptytoks
  366.   \@xp\@skipmath\@xp\@empty#1$$%
  367.   \edef#1{\@nx\@upprep\the\toks@}%
  368. }
  369. \newcommand{\@upprep}{%
  370.   \spaceskip1.3\fontdimen2\font plus1.3\fontdimen3\font
  371.   \upchars@}
  372. \newcommand{\upchars@}{%
  373.   \def\ss{SS}\def\i{I}\def\j{J}\def\ae{\AE}\def\oe{\OE}%
  374.   \def\o{\O}\def\aa{\AA}\def\l{\L}\def\Mc{M{\scshape c}}}
  375. \newcommand{\@skipmath}{}
  376. \long\def\@skipmath#1$#2${%
  377.   \@xskipmath#1\(\)%
  378.   \@ifnotempty{#2}{\toks@\@xp{\the\toks@$#2$}\@skipmath\@empty}}%
  379. \newcommand{\@xskipmath}{}
  380. \long\def\@xskipmath#1\(#2\){%
  381.   \uppercase{\toks@\@xp\@xp\@xp{\@xp\the\@xp\toks@#1}}%
  382.   \@ifnotempty{#2}{\toks@\@xp{\the\toks@\(#2\)}\@xskipmath\@empty}}%
  383. \newcommand{\today}{%
  384.   \relax\ifcase\month\or
  385.   January\or February\or March\or April\or May\or June\or
  386.   July\or August\or September\or October\or November\or December\fi
  387.   \space\number\day, \number\year}
  388. \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
  389. \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
  390. \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
  391. \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
  392. \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
  393. \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
  394. \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
  395. \renewcommand*{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}}
  396. \edef\title{\@nx\@dblarg
  397.   \@xp\@nx\csname\string\title\endcsname}
  398. \renewcommand{\author}[2][]{%
  399.   \ifx\@empty\authors
  400.     \gdef\shortauthors{#1}\gdef\authors{#2}%
  401.   \else
  402.     \g@addto@macro\shortauthors{\and#1}%
  403.     \g@addto@macro\authors{\and#2}%
  404.     \g@addto@macro\addresses{\author{}}%
  405.   \fi
  406. }
  407. \edef\author{\@nx\@dblarg
  408.   \@xp\@nx\csname\string\author\endcsname}
  409. \let\shortauthors\@empty   \let\authors\@empty
  410. \let\addresses\@empty      \let\thankses\@empty
  411. \newcommand{\address}[2][]{\g@addto@macro\addresses{\address{#1}{#2}}}
  412. \newcommand{\curraddr}[2][]{\g@addto@macro\addresses{\curraddr{#1}{#2}}}
  413. \newcommand{\email}[2][]{\g@addto@macro\addresses{\email{#1}{#2}}}
  414. \newcommand{\urladdr}[2][]{\g@addto@macro\addresses{\urladdr{#1}{#2}}}
  415. \renewcommand{\thanks}[1]{\g@addto@macro\thankses{\thanks{#1}}}
  416. \def\@setaddresses{\par
  417.   \nobreak \begingroup
  418.   \def\author##1{\nobreak\addvspace\bigskipamount}%
  419.   \def\\{\unskip, \ignorespaces}%
  420.   \interlinepenalty\@M
  421.   \def\address##1##2{\begingroup
  422.     \par\addvspace\bigskipamount\indent
  423.     \@ifnotempty{##1}{(\ignorespaces##1\unskip) }%
  424.     {\scshape\ignorespaces##2}\par\endgroup}%
  425.   \def\curraddr##1##2{\begingroup
  426.     \@ifnotempty{##2}{\nobreak\indent{\itshape Current address}%
  427.       \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
  428.       ##2\par\endgroup}}%
  429.   \def\email##1##2{\begingroup
  430.     \@ifnotempty{##2}{\nobreak\indent{\itshape E-mail address}%
  431.       \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
  432.       \ttfamily##2\par\endgroup}}%
  433.   \def\urladdr##1##2{\begingroup
  434.     \@ifnotempty{##2}{\nobreak\indent{\itshape URL}%
  435.       \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
  436.       \ttfamily##2\par\endgroup}}%
  437.   \addresses
  438.   \endgroup
  439. }
  440. \let\@date\@empty
  441. \def\dedicatory#1{\def\@dedicatory{#1}}
  442. \let\@dedicatory=\@empty
  443. \def\keywords#1{\def\@keywords{#1}}
  444. \let\@keywords=\@empty
  445. \def\subjclass#1{\def\@subjclass{#1}}
  446. \let\@subjclass=\@empty
  447. \def\translator#1{%
  448.   \ifx\@empty\@translators \def\@translators{#1}%
  449.   \else\g@addto@macro\@translators{\and#1}\fi}
  450. \let\@translators=\@empty
  451. \newcommand{\xandlist}[4]{\@andlista{{#1}{#2}{#3}}#4\and\and}
  452. \def\@andlista#1#2\and#3\and{\@andlistc{#2}\@ifnotempty{#3}{%
  453.   \@andlistb#1{#3}}}
  454. \def\@andlistb#1#2#3#4#5\and{%
  455.   \@ifempty{#5}{%
  456.     \@andlistc{#2#4}%
  457.   }{%
  458.     \@andlistc{#1#4}\@andlistb{#1}{#3}{#3}{#5}%
  459.   }}
  460. \let\@andlistc\@iden
  461. \newcommand{\nxandlist}[4]{%
  462.   \def\@andlistc##1{\toks@\@xp{\the\toks@##1}}%
  463.   \toks@{\toks@\@emptytoks \@andlista{{#1}{#2}{#3}}}%
  464.   \the\@xp\toks@#4\and\and
  465.   \edef#4{\the\toks@}%
  466.   \let\@andlistc\@iden}
  467. \newcommand{\andify}{%
  468.   \nxandlist{\unskip, }{\unskip{} and~}{\unskip, and~}}
  469. \def\and{\unskip{ }and \ignorespaces}
  470. \def\copyrightinfo#1#2{\def\copyrightyear{#1}\def\copyrightholder{#2}}
  471. \copyrightinfo{0000}{(copyright holder)}
  472. \newcommand{\abstractname}{Abstract}
  473. \newcommand{\keywordsname}{Key words and phrases}
  474. \newcommand{\subjclassname}{\textup{1991} Mathematics Subject
  475.      Classification}
  476. \def\@tempb{amsbook}
  477. \ifx\@classname\@tempb
  478.   \newcommand{\datename}{\textit{Date}:}
  479. \else
  480.   \newcommand{\datename}{Received by the editors}
  481. \fi
  482. \def\@setdate{\datename\ \@date\@addpunct.}
  483. \def\@setsubjclass{%
  484.   {\itshape\subjclassname.}\enspace\@subjclass\@addpunct.}
  485. \def\@setkeywords{%
  486.   {\itshape \keywordsname.}\enspace \@keywords\@addpunct.}
  487. \def\@setthanks{\def\thanks##1{\par##1\@addpunct.}\thankses}
  488. \newbox\abstractbox
  489. \newenvironment{abstract}{%
  490.   \ifx\maketitle\relax
  491.     \ClassWarning{\@classname}{Abstract should precede
  492.       \protect\maketitle\space in AMS documentclasses; reported}%
  493.   \fi
  494.   \global\setbox\abstractbox=\vtop \bgroup
  495.  \normalsize
  496.   \Small
  497.   \list{}{\labelwidth\z@
  498.     \leftmargin3pc \rightmargin\leftmargin
  499.     \listparindent\normalparindent \itemindent\z@
  500.     \parsep\z@ \@plus\p@
  501.     \let\fullwidthdisplay\relax
  502.     }%
  503.   \item[\hskip\labelsep\scshape\abstractname.]%
  504. }{%
  505.   \endlist\egroup
  506.   \ifx\@setabstract\relax \@setabstracta \fi
  507. }
  508. \def\@setabstract{\@setabstracta \global\let\@setabstract\relax}
  509. \def\@setabstracta{%
  510.   \ifvoid\abstractbox
  511.   \else
  512.     \skip@20\p@ \advance\skip@-\lastskip
  513.     \advance\skip@-\baselineskip \vskip\skip@
  514.     \box\abstractbox
  515.     \prevdepth\z@ % because \abstractbox is a vtop
  516.   \fi
  517. }
  518. \def\titlepage{%
  519.   \cleardoublepage
  520.   \thispagestyle{empty}\setcounter{page}{0}}
  521. \def\endtitlepage{\newpage}
  522. \def\labelenumi{\theenumi.}
  523. \def\theenumi{\@arabic\c@enumi}
  524. \def\labelenumii{(\theenumii)}
  525. \def\theenumii{\@alph\c@enumii}
  526. \def\p@enumii{\theenumi}
  527. \def\labelenumiii{(\theenumiii)}
  528. \def\theenumiii{\@roman\c@enumiii}
  529. \def\p@enumiii{\theenumi(\theenumii)}
  530. \def\labelenumiv{(\theenumiv)}
  531. \def\theenumiv{\@Alph\c@enumiv}
  532. \def\p@enumiv{\p@enumiii\theenumiii}
  533. \def\labelitemi{$\m@th\bullet$}
  534. \def\labelitemii{\bfseries --}% \upshape already done by \itemize
  535. \def\labelitemiii{$\m@th\ast$}
  536. \def\labelitemiv{$\m@th\cdot$}
  537. \newenvironment{verse}{\let\\\@centercr
  538.   \list{}{\itemsep\z@ \itemindent -1.5em\listparindent\itemindent
  539.   \rightmargin\leftmargin \advance\leftmargin 1.5em}\item[]%
  540. }{%
  541.   \endlist
  542. }
  543. \let\endverse=\endlist % for efficiency
  544. \newenvironment{quotation}{\list{}{%
  545.     \leftmargin3pc \listparindent\normalparindent
  546.     \itemindent\z@
  547.     \rightmargin\leftmargin \parsep\z@ \@plus\p@}%
  548.   \item[]%
  549. }{%
  550.   \endlist
  551. }
  552. \let\endquotation=\endlist % for efficiency
  553. \newenvironment{quote}{%
  554.   \list{}{\rightmargin\leftmargin}\item[]%
  555. }{%
  556.   \endlist
  557. }
  558. \let\endquote=\endlist % for efficiency
  559. \def\trivlist{\parsep\parskip\@nmbrlistfalse
  560.   \@trivlist \labelwidth\z@ \leftmargin\z@
  561.   \itemindent\z@
  562.   \let\@itemlabel\@empty
  563.   \def\makelabel##1{\upshape##1}}
  564. \renewenvironment{enumerate}{%
  565.   \ifnum \@enumdepth >3 \@toodeep\else
  566.       \advance\@enumdepth \@ne
  567.       \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
  568.       {\csname label\@enumctr\endcsname}{\usecounter
  569.         {\@enumctr}\def\makelabel##1{\hss\llap{\upshape##1}}}\fi
  570. }{%
  571.   \endlist
  572. }
  573. \let\endenumerate=\endlist % for efficiency
  574. \renewenvironment{itemize}{%
  575.   \ifnum\@itemdepth>3 \@toodeep
  576.   \else \advance\@itemdepth\@ne
  577.     \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
  578.     \list{\csname\@itemitem\endcsname}%
  579.       {\def\makelabel##1{\hss\llap{\upshape##1}}}%
  580.   \fi
  581. }{%
  582.   \endlist
  583. }
  584. \let\enditemize=\endlist % for efficiency
  585. \newcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1:}
  586. \newenvironment{description}{\list{}{%
  587.   \advance\leftmargini6\p@ \itemindent-12\p@
  588.   \labelwidth\z@ \let\makelabel\descriptionlabel}%
  589. }{
  590.   \endlist
  591. }
  592. \let\enddescription=\endlist % for efficiency
  593. \let\upn=\textup
  594. \AtBeginDocument{%
  595.   \settowidth\leftmargini{\labelenumi\hskip\labelsep}%
  596.   \advance\leftmargini by \normalparindent
  597.   \settowidth\leftmarginii{\labelenumii\hskip\labelsep}%
  598.   \advance\leftmarginii by 15pt
  599.   \settowidth\leftmarginiii{\labelenumiii\hskip\labelsep}%
  600.   \advance\leftmarginiii by 12pt
  601.   \settowidth\leftmarginiv{\labelenumiv\hskip\labelsep}%
  602.   \advance\leftmarginiv by 10pt
  603.   \leftmarginv=10pt
  604.   \leftmarginvi=10pt
  605.   \leftmargin=\leftmargini
  606.   \labelsep=5pt
  607.   \labelwidth=\leftmargini \advance\labelwidth-\labelsep
  608.   \@listi}
  609. \newskip\listisep
  610. \listisep\smallskipamount
  611. \def\@listI{\leftmargin\leftmargini \parsep\z@skip
  612.   \topsep\listisep \itemsep\z@skip
  613.   \listparindent\normalparindent}
  614. \let\@listi\@listI
  615. \def\@listii{\leftmargin\leftmarginii
  616.   \labelwidth\leftmarginii \advance\labelwidth-\labelsep
  617.   \topsep\z@skip \parsep\z@skip \partopsep\z@skip \itemsep\z@skip}
  618. \def\@listiii{\leftmargin\leftmarginiii
  619.   \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
  620. \def\@listiv{\leftmargin\leftmarginiv
  621.   \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
  622. \def\@listv{\leftmargin\leftmarginv
  623.   \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
  624. \def\@listvi{\leftmargin\leftmarginvi
  625.   \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
  626. \def\@startsection#1#2#3#4#5#6{%
  627.  \if@noskipsec \leavevmode \fi
  628.  \par \@tempskipa #4\relax
  629.  \@afterindenttrue
  630.  \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
  631.  \if@nobreak \everypar{}\else
  632.      \addpenalty\@secpenalty\addvspace\@tempskipa\fi
  633.  \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}%
  634.          {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
  635. }
  636. \def\@sect#1#2#3#4#5#6[#7]#8{%
  637.   \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
  638.   \ifnum #2>\c@secnumdepth \let\@secnumber\@empty
  639.   \else \@xp\let\@xp\@secnumber\csname the#1\endcsname\fi
  640.  \ifnum #2>\c@secnumdepth
  641.    \let\@svsec\@empty
  642.  \else
  643.     \refstepcounter{#1}%
  644.     \edef\@svsec{\ifnum#2<\@m
  645.        \@ifundefined{#1name}{}{%
  646.          \ignorespaces\csname #1name\endcsname\space}\fi
  647.        \@nx\textup{%
  648.          \csname the#1\endcsname.}\enspace
  649.     }%
  650.   \fi
  651.   \@tempskipa #5\relax
  652.   \ifdim \@tempskipa>\z@ % then this is not a run-in section heading
  653.     \begingroup #6\relax
  654.     \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}%
  655.     \endgroup
  656.   \csname #1mark\endcsname{#7}%
  657.     \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
  658.   \else
  659.   \def\@svsechd{#6\hskip #3\@svsec
  660.     \@ifnotempty{#8}{\ignorespaces#8\unskip
  661.        \@addpunct.}%
  662.     \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
  663.   }%
  664.   \fi
  665.   \global\@nobreaktrue
  666.   \@xsect{#5}}
  667. \let\@ssect\relax
  668. \newcounter{part}
  669. \newcounter{chapter}
  670. \newcounter{section}[chapter]
  671. \def\thesection{\arabic{section}}
  672. \newcounter{subsection}[section]
  673. \newcounter{subsubsection}[subsection]
  674. \newcounter{paragraph}[subsubsection]
  675. \renewcommand\thepart          {\arabic{part}}
  676. \renewcommand\thechapter       {\arabic{chapter}}
  677. \renewcommand\thesection       {\arabic{section}}
  678. \renewcommand\thesubsection    {\thesection.\arabic{subsection}}
  679. \renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}}
  680. \renewcommand\theparagraph     {\thesubsubsection.\arabic{paragraph}}
  681. \setcounter{secnumdepth}{3}
  682. \def\partname{Part}
  683. \def\specialsection{\@startsection{section}{1}%
  684.   \z@{2\linespacing\@plus\linespacing}{.5\linespacing}%
  685.   {\large\scshape\centering}}
  686. \def\part{\cleardoublepage \thispagestyle{empty}%
  687.   \null\vfil  \markboth{}{}\secdef\@part\@spart}
  688. \def\@part[#1]#2{%
  689.   \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}%
  690.     \addcontentsline{toc}{part}{\partname\ \thepart.
  691.         \protect\enspace\protect\noindent#1}%
  692.   \else
  693.     \addcontentsline{toc}{part}{#1}\fi
  694.   \begingroup\centering
  695.   \ifnum \c@secnumdepth >-2\relax
  696.        {\fontsize{\@xviipt}{22}\bfseries
  697.          \partname\ \thepart} \vskip 20\p@ \fi
  698.   \fontsize{\@xxpt}{25}\bfseries
  699.       #1\vfil\vfil\endgroup \newpage\thispagestyle{empty}}
  700.  
  701. \def\@spart#1{\addcontentsline{toc}{part}{\protect\noindent#1}%
  702.   \begingroup\centering
  703.   \fontsize{\@xxpt}{25}\bfseries
  704.      #1\vfil\vfil\endgroup \newpage\thispagestyle{empty}}
  705. \def\partrunhead#1#2#3{%
  706.   \@ifnotempty{#2}{\uppercase{#1 #2}\@ifnotempty{#3}{. }}%
  707.   \def\@tempa{#3}%
  708.   \ifx\@empty\@tempa\else\uppercasenonmath\@tempa\@tempa\fi}
  709. \let\chapterrunhead\partrunhead
  710. \let\sectionrunhead\partrunhead
  711. \def\section{\@startsection{section}{1}%
  712.   \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
  713.   {\normalfont\bfseries\centering}}
  714. \def\subsection{\@startsection{subsection}{2}%
  715.   \normalparindent{.5\linespacing\@plus.7\linespacing}{-.5em}%
  716.   {\normalfont\bfseries}}
  717. \def\subsubsection{\@startsection{subsubsection}{3}%
  718.   \normalparindent\z@{-.5em}%
  719.   {\normalfont\itshape}}
  720. \def\paragraph{\@startsection{paragraph}{4}%
  721.   \normalparindent\z@{-\fontdimen2\font}%
  722.   \normalfont}
  723. \def\subparagraph{\@startsection{subparagraph}{5}%
  724.   \z@\z@{-\fontdimen2\font}%
  725.   \normalfont}
  726. \def\@Roman#1{\@xp\@slowromancap
  727.   \romannumeral#1@}%
  728. \def\@slowromancap#1{\ifx @#1% then terminate
  729.   \else
  730.     \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if
  731.     c#1C\else\if m#1M\else#1\fi\fi\fi\fi\fi\fi
  732.     \@xp\@slowromancap
  733.   \fi
  734. }
  735. \def\frontmatter{\cleardoublepage\pagenumbering{roman}}
  736. \def\mainmatter{\cleardoublepage\pagenumbering{arabic}}
  737. \def\backmatter{\cleardoublepage}
  738. \def\aufm#1{\par\vspace*{12pt}{\flushright #1\par}}
  739. \newenvironment{xcb}{%
  740.   \settowidth{\leftmargini}{0.\hskip\labelsep}%
  741.   \settowidth{\leftmarginii}{(d.)\hskip\labelsep}%
  742.   \@startsection{section}% counter name; ignored because of the
  743.                                 % * below
  744.   {1}% sectioning level
  745.   {\z@}% indent to the left of the section title
  746.   {18\p@\@plus2\p@}% vertical space above *** added 12 more points space!!
  747.   {1sp}% Space below of 13pt base-to-base, so none needs to be added
  748.       % here; but \z@ would cause the following text to be run-in, so we
  749.       % use 1sp instead.
  750.   {\bfseries}% The font of the subsection title
  751.   *% always unnumbered
  752. }{%
  753.   \par
  754. }
  755. \def\chapter{\cleardoublepage \thispagestyle{plain}\global\@topnum\z@
  756.   \@afterindenttrue \secdef\@chapter\@schapter}
  757. \def\@chapter[#1]#2{\refstepcounter{chapter}%
  758.   \ifnum\c@secnumdepth<\z@ \let\@secnumber\@empty
  759.   \else \let\@secnumber\thechapter \fi
  760.   \typeout{\chaptername\space\@secnumber}%
  761.   \def\@toclevel{0}%
  762.   \ifx\chaptername\appendixname \@tocwriteb\tocappendix{chapter}{#2}%
  763.   \else \@tocwriteb\tocchapter{chapter}{#2}\fi
  764.   \chaptermark{#1}%
  765.   \addtocontents{lof}{\protect\addvspace{10\p@}}%
  766.   \addtocontents{lot}{\protect\addvspace{10\p@}}%
  767.   \@makechapterhead{#2}\@afterheading}
  768. \def\@schapter#1{\typeout{#1}%
  769.   \let\@secnumber\@empty
  770.   \def\@toclevel{0}%
  771.   \ifx\chaptername\appendixname \@tocwriteb\tocappendix{chapter}{#1}%
  772.   \else \@tocwriteb\tocchapter{chapter}{#1}\fi
  773.   \chaptermark{#1}%
  774.   \addtocontents{lof}{\protect\addvspace{10\p@}}%
  775.   \addtocontents{lot}{\protect\addvspace{10\p@}}%
  776.   \@makeschapterhead{#1}\@afterheading}
  777. \def\chaptername{Chapter}
  778. \def\thechapter{\@arabic\c@chapter}
  779. \def\appendixname{Appendix}
  780. \def\@makechapterhead#1{\global\topskip 7.5pc\relax
  781.   \begingroup
  782.   \fontsize{\@xivpt}{18}\bfseries\centering
  783.     \ifnum\c@secnumdepth>\m@ne
  784.       \leavevmode \hskip-\leftskip
  785.       \rlap{\vbox to\z@{\vss
  786.           \centerline{\normalsize\mdseries
  787.               \uppercase\@xp{\chaptername}\enspace\thechapter}
  788.           \vskip 3pc}}\hskip\leftskip\fi
  789.      #1\par \endgroup
  790.   \skip@34\p@ \advance\skip@-\normalbaselineskip
  791.   \vskip\skip@ }
  792. \def\@makeschapterhead#1{\global\topskip 7.5pc\relax
  793.   \begingroup
  794.   \fontsize{\@xivpt}{18}\bfseries\centering
  795.   #1\par \endgroup
  796.   \skip@34\p@ \advance\skip@-\normalbaselineskip
  797.   \vskip\skip@ }
  798. \def\appendix{\par
  799.   \c@chapter\z@ \c@section\z@
  800.   \let\chaptername\appendixname
  801.   \def\thechapter{\@Alph\c@chapter}}
  802. \newcommand{\@pnumwidth}{1.6em}
  803. \newcommand{\@tocrmarg}{2.6em}
  804. \setcounter{tocdepth}{1}
  805. \def\@starttoc#1#2{%
  806.   \begingroup
  807.   \let\secdef\@gobbletwo \chapter
  808.   \let\@secnumber\@empty % for \@tocwrite and \chaptermark
  809.   \ifx\contentsname#2%
  810.   \else \@tocwrite{chapter}{#2}\fi
  811.   \typeout{#2}\@xp\chaptermark\@xp{#2}%
  812.   \@makeschapterhead{#2}\@afterheading
  813.   \makeatletter
  814.   \@input{\jobname.#1}%
  815.   \if@filesw
  816.     \@xp\newwrite\csname tf@#1\endcsname
  817.     \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
  818.   \fi
  819.   \global\@nobreakfalse \endgroup
  820.   \newpage
  821. }
  822. \def\contentsname{Contents}
  823. \def\listfigurename{List of Figures}
  824. \def\listtablename{List of Tables}
  825. \def\tableofcontents{\@starttoc{toc}\contentsname}
  826. \def\listoffigures{\@starttoc{lof}\listfigurename}
  827. \def\listoftables{\@starttoc{lot}\listtablename}
  828. \AtBeginDocument{%
  829.   \@for\@tempa:=-1,0,1,2,3\do{%
  830.     \@ifundefined{r@tocindent\@tempa}{%
  831.       \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}%
  832.   }%
  833. }
  834. \def\@writetocindents{%
  835.   \begingroup
  836.   \@for\@tempa:=-1,0,1,2,3\do{%
  837.     \immediate\write\@auxout{%
  838.       \string\newlabel{tocindent\@tempa}{%
  839.         \csname r@tocindent\@tempa\endcsname}}%
  840.   }%
  841.   \endgroup}
  842. \AtEndDocument{\@writetocindents}
  843.  
  844. \let\indentlabel\@empty
  845. \def\@tochangmeasure#1{\sbox\z@{#1}%
  846.   \ifdim\wd\z@>\csname r@tocindent\@toclevel\endcsname\relax
  847.     \@xp\xdef\csname r@tocindent\@toclevel\endcsname{\the\wd\z@}%
  848.   \fi
  849. }
  850. \def\@toclevel{0}
  851. \def\@tocline#1#2#3#4#5#6#7{\relax
  852.   \ifnum #1>\c@tocdepth % then omit
  853.   \else
  854.     \par \addpenalty\@secpenalty\addvspace{#2}%
  855.     \begingroup \hyphenpenalty\@M
  856.     \@ifempty{#4}{%
  857.       \@tempdima\csname r@tocindent\number#1\endcsname\relax
  858.     }{%
  859.       \@tempdima#4\relax
  860.     }%
  861.     \parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax
  862.     \rightskip\@pnumwidth plus1em \parfillskip-\@pnumwidth
  863.     #5\leavevmode\hskip-\@tempdima #6\relax
  864.     \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par
  865.     \nobreak
  866.     \endgroup
  867.   \fi}
  868. \def\@tocpagenum#1{\hss{\mdseries #1}}
  869. \def\@tocwrite#1{\@xp\@tocwriteb\csname toc#1\endcsname{#1}}
  870. \def\@tocwriteb#1#2#3{%
  871.   \begingroup
  872.     \def\@tocline##1##2##3##4##5##6{%
  873.       \ifnum##1>\c@tocdepth
  874.       \else \sbox\z@{##5\let\indentlabel\@tochangmeasure##6}\fi}%
  875.     \csname l@#2\endcsname{#1{\csname#2name\endcsname}{\@secnumber}{}}%
  876.   \endgroup
  877.   \addcontentsline{toc}{#2}%
  878.     {\protect#1{\csname#2name\endcsname}{\@secnumber}{#3}}}
  879. \def\l@section{\@tocline{1}{0pt}{1pc}{}{}}
  880. \newcommand{\tocsection}[3]{%
  881.   \indentlabel{\@ifnotempty{#2}{\ignorespaces#1 #2.\quad}}#3}
  882. \def\l@subsection{\@tocline{2}{0pt}{1pc}{5pc}{}}
  883. \let\tocsubsection\tocsection
  884. \def\l@subsubsection{\@tocline{3}{0pt}{1pc}{7pc}{}}
  885. \let\tocsubsubsection\tocsection
  886. \def\l@part{\@tocline{-1}{12pt plus2pt}{0pt}{}{\bfseries}}
  887. \let\tocpart\tocsection
  888. \def\l@chapter{\@tocline{0}{8pt plus1pt}{0pt}{}{}}
  889. \let\tocchapter\tocsection
  890. \let\tocappendix\tocchapter
  891. \def\l@figure{\@tocline{0}{3pt plus2pt}{0pt}{}{}}
  892. \let\l@table=\l@figure
  893. \def\refname{References}
  894. \def\bibname{Bibliography}
  895. \def\bibliographystyle#1{%
  896.    \if@filesw\immediate\write\@auxout
  897.     {\string\bibstyle{#1}}\fi
  898.         \def\@tempa{#1}%
  899.         \def\@tempb{amsplain}%
  900.         \def\@tempc{}%
  901.         \ifx\@tempa\@tempb
  902.                 \def\@biblabel##1{##1.}%
  903.                 \def\bibsetup{}%
  904.         \else
  905.                 \def\bibsetup{\labelsep6\p@}%
  906.         \ifx\@tempa\@tempc
  907.                 \def\@biblabel##1{}%
  908.                 \def\bibsetup{\labelwidth\z@ \leftmargin24\p@
  909.                 \itemindent-24\p@
  910.                           \labelsep\z@ }%
  911.         \fi
  912. \fi}
  913. \newenvironment{thebibliography}[1]{%
  914.   \@xp\chapter\@xp*\@xp{\bibname}%
  915.   \normalfont\footnotesize\labelsep .5em\relax
  916.   \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty
  917.   \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}%
  918.     \leftmargin\labelwidth \advance\leftmargin\labelsep
  919.     \usecounter{enumiv}}%
  920.   \sloppy \clubpenalty\@M \widowpenalty\clubpenalty
  921.   \sfcode`\.=\@m
  922. }{%
  923.   \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
  924.   \endlist
  925. }
  926. \def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace}
  927. \def\newblock{}
  928. \newcommand\MR[1]{\relax\ifhmode\unskip\spacefactor3000 \space\fi
  929.   \def\@tempa##1:##2:##3\@nil{%
  930.     \ifx @##2\@empty##1\else\textbf{##1:}##2\fi}%
  931.   \MRhref{#1}{MR \@tempa#1:@:\@nil}}
  932. \newcommand\URL{\begingroup
  933.   \def\@sverb##1{%
  934.     \def\@tempa####1##1{\@URL{####1}\egroup\endgroup}%
  935.     \@tempa}%
  936.   \verb}
  937. \let\URLhref\@gobble
  938. \def\@URL#1{\URLhref{#1}#1}
  939. \newif\if@restonecol
  940. \def\indexchap#1{\global\topskip 7.5pc\relax
  941.   \twocolumn[\fontsize{\@xivpt}{18}%
  942.     \vskip\topskip\vskip-\baselineskip\hbox{}% adjust top space
  943.     \bfseries\centering #1\par]%
  944.   \global\topskip 34\p@
  945. }
  946. \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
  947.   \columnseprule\z@ \columnsep 35\p@
  948.   \let\@makeschapterhead\indexchap
  949.   \@xp\chapter\@xp*\@xp{\indexname}%
  950.   \thispagestyle{plain}%
  951.   \let\item\@idxitem
  952.   \parindent\z@  \parskip\z@\@plus.3\p@\relax
  953.   \footnotesize}
  954. \def\indexname{Index}
  955. \def\@idxitem{\par\hangindent 2em}
  956. \def\subitem{\par\hangindent 2em\hspace*{1em}}
  957. \def\subsubitem{\par\hangindent 3em\hspace*{2em}}
  958. \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
  959. \def\indexspace{\par\bigskip}
  960. \@addtoreset{footnote}{chapter}
  961. \def\footnoterule{\kern-.4\p@
  962.         \hrule\@width 5pc\kern11\p@\kern-\footnotesep}
  963. \def\@makefnmark{\hbox{$\m@th^{\@thefnmark}$}}
  964. \def\@makefntext{\indent\@makefnmark}
  965. \long\def\@footnotetext#1{\insert\footins{%
  966.   \normalfont\footnotesize
  967.   \interlinepenalty\interfootnotelinepenalty
  968.   \splittopskip\footnotesep \splitmaxdepth \dp\strutbox
  969.   \floatingpenalty\@MM \hsize\columnwidth
  970.   \@parboxrestore \parindent\normalparindent \sloppy
  971.   \edef\@currentlabel{\p@footnote\@thefnmark}%
  972.   \@makefntext{\rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}}
  973. \hfuzz=1pt \vfuzz=\hfuzz
  974. \def\sloppy{\tolerance9999 \emergencystretch 3em\relax}
  975. \setcounter{topnumber}{4}
  976. \setcounter{bottomnumber}{4}
  977. \setcounter{totalnumber}{4}
  978. \setcounter{dbltopnumber}{4}
  979. \renewcommand{\topfraction}{.97}
  980. \renewcommand{\bottomfraction}{.97}
  981. \renewcommand{\textfraction}{.03}
  982. \renewcommand{\floatpagefraction}{.9}
  983. \renewcommand{\dbltopfraction}{.97}
  984. \renewcommand{\dblfloatpagefraction}{.9}
  985. \setlength{\floatsep}{12pt plus 6pt minus 4pt}
  986. \setlength{\textfloatsep}{15pt plus 8pt minus 5pt}
  987. \setlength{\intextsep}{12pt plus 6pt minus 4pt}
  988. \setlength{\dblfloatsep}{12pt plus 6pt minus 4pt}
  989. \setlength{\dbltextfloatsep}{15pt plus 8pt minus 5pt}
  990. \setlength{\@fptop}{0pt}% removed ``plus 1fil''
  991. \setlength{\@fpsep}{8pt}% removed ``plus 2fil''
  992. \setlength{\@fpbot}{0pt plus 1fil}
  993. \setlength{\@dblfptop}{0pt}% removed ``plus 1fil''
  994. \setlength{\@dblfpsep}{8pt}% removed ``plus 2fil''
  995. \setlength{\@dblfpbot}{0pt plus 1fil}
  996. \newcommand{\fps@figure}{tbp}
  997. \newcommand{\fps@table}{tbp}
  998. \newcounter{figure}[chapter]
  999. \def\@captionheadfont{\scshape}
  1000. \def\@captionfont{\normalfont}
  1001. \def\ftype@figure{1}
  1002. \def\ext@figure{lof}
  1003. \def\fnum@figure{\figurename\ \thefigure}
  1004. \def\figurename{Figure}
  1005. \newenvironment{figure}{%
  1006.   \@float{figure}%
  1007. }{%
  1008.   \end@float
  1009. }
  1010. \newcounter{table}[chapter]
  1011. \def\ftype@table{2}
  1012. \def\ext@table{lot}
  1013. \def\fnum@table{\tablename\ \thetable}
  1014. \def\tablename{Table}
  1015. \newenvironment{table}{%
  1016.   \@float{table}%
  1017. }{%
  1018.   \end@float
  1019. }
  1020. \def\@floatboxreset{\global\@minipagefalse \centering}
  1021. \long\def\@makecaption#1#2{%
  1022.   \setbox\@tempboxa\vbox{\color@setgroup
  1023.     \advance\hsize-2\captionindent\noindent
  1024.     \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp
  1025.         {\@cdr#2\@nil}{.\@captionfont\upshape\enspace#2}%
  1026.     \unskip\kern-2\captionindent\par
  1027.     \global\setbox\@ne\lastbox\color@endgroup}%
  1028.   \ifhbox\@ne % the normal case
  1029.     \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}%
  1030.   \fi
  1031.   \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line
  1032.     \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}%
  1033.   \else % tempboxa contained more than one line
  1034.     \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip
  1035.         \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}%
  1036. \fi
  1037.   \ifnum\@tempcnta<64 % if the float IS a figure...
  1038.     \addvspace\abovecaptionskip
  1039.     \moveright\captionindent\box\@ne
  1040.   \else % if the float IS NOT a figure...
  1041.     \moveright\captionindent\box\@ne
  1042.     \nobreak
  1043.     \vskip\belowcaptionskip
  1044.   \fi
  1045. \relax
  1046. }
  1047. \newskip\abovecaptionskip \abovecaptionskip=12pt \relax
  1048. \newskip\belowcaptionskip \belowcaptionskip=12pt \relax
  1049. \newdimen\captionindent \captionindent=3pc
  1050. \RequirePackage{amsthm}[1996/09/24]
  1051. \def\@swapped#1#2{#2%
  1052.   \@ifnotempty{#1}{\@addpunct{.}\quad#1\unskip}}
  1053. \def\thmhead@plain#1#2#3{%
  1054.   \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}%
  1055.   \thmnote{ \textmd{\upshape(#3)}}}
  1056. \def\swappedhead@plain#1#2#3{%
  1057.   \thmnumber{\@upn{#2}}\thmname{\@ifnotempty{#2}{. }#1}%
  1058.   \thmnote{ \textmd{\upshape(#3)}}}
  1059. \def\th@plain{%
  1060.   \let\thm@indent\indent
  1061.   \thm@headfont{\scshape}% heading font small caps
  1062.   \let\thmhead\thmhead@plain \let\swappedhead\swappedhead@plain
  1063.   \thm@preskip.5\baselineskip\@plus.2\baselineskip
  1064.                                     \@minus.2\baselineskip
  1065.   \thm@postskip\thm@preskip
  1066.   \itshape
  1067. }
  1068. \def\th@definition{%
  1069.   \let\thm@indent\indent
  1070.   \thm@headfont{\scshape}% heading font small caps
  1071.   \let\thmhead\thmhead@plain \let\swappedhead\swappedhead@plain
  1072.   \thm@preskip.5\baselineskip\@plus.2\baselineskip
  1073.                                     \@minus.2\baselineskip
  1074.   \thm@postskip\thm@preskip
  1075.   \upshape
  1076. }
  1077. \def\th@remark{%
  1078.   \let\thm@indent\indent
  1079.   \thm@headfont{\scshape}% heading font small caps
  1080.   \let\thmhead\thmhead@plain \let\swappedhead\swappedhead@plain
  1081.   \thm@preskip.5\baselineskip\@plus.2\baselineskip
  1082.                                     \@minus.2\baselineskip
  1083.   \thm@postskip\thm@preskip
  1084.   \upshape
  1085. }
  1086. \renewenvironment{proof}[1][\proofname]{\par \normalfont
  1087.   \topsep6\p@\@plus6\p@ \trivlist \itemindent\normalparindent
  1088.   \item[\hskip\labelsep\scshape
  1089.     #1\@addpunct{.}]\ignorespaces
  1090. }{%
  1091.   \qed\endtrivlist
  1092. }
  1093. \if@compatibility
  1094. \let\@newpf\proof \let\proof\relax \let\endproof\relax
  1095. \newenvironment{pf}{\@newpf[\proofname]}{\qed\endtrivlist}
  1096. \newenvironment{pf*}[1]{\@newpf[#1]}{\qed\endtrivlist}
  1097. \fi
  1098. \def\nonbreakingspace{\unskip\nobreak\ \ignorespaces}
  1099. \def~{\protect\nonbreakingspace}
  1100. \def\@biblabel#1{\@ifnotempty{#1}{[#1]}}
  1101. \def\@cite#1#2{{%
  1102.  \m@th\upshape\mdseries[{\bfseries #1}{\if@tempswa, #2\fi}]}}
  1103. \@ifundefined{cite }{%
  1104.   \expandafter\let\csname cite \endcsname\cite
  1105.   \edef\cite{\@nx\protect\@xp\@nx\csname cite \endcsname}%
  1106. }{}
  1107. \def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth}
  1108. \edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay}
  1109. \everydisplay\expandafter{\@tempa}
  1110. \newcommand\seename{see also}%
  1111. \newcommand\see[2]{{\em \seename\/} #1}%
  1112. \newcommand\printindex{\@input{\jobname.ind}}%
  1113. \DeclareRobustCommand\textprime{\leavevmode
  1114.   \raise.8ex\hbox{\check@mathfonts\the\scriptfont2 \char48 }}
  1115. \def\maketitle{\par
  1116.   \@topnum\z@ % this prevents figures from falling at the top of page 1
  1117.   \begingroup
  1118.   \@maketitle
  1119.   \endgroup
  1120.   \c@footnote\z@
  1121.   \def\do##1{\let##1\relax}%
  1122.   \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title
  1123.   \do\author \do\@xauthor \do\address \do\@xaddress
  1124.   \do\email \do\@xemail \do\curraddr \do\@xcurraddr
  1125.   \do\dedicatory \do\@dedicatory \do\thanks \do\thankses
  1126.   \do\keywords \do\@keywords \do\subjclass \do\@subjclass
  1127. }
  1128. \def\@maketitle{%
  1129.   \cleardoublepage \thispagestyle{empty}%
  1130.   \begingroup \topskip\z@skip
  1131.   \null\vfil
  1132.   \begingroup
  1133.   \LARGE\bfseries \centering
  1134.   \openup\medskipamount
  1135.   \@title\par\vspace{24pt}%
  1136.   \def\and{\par\medskip}\centering
  1137.   \mdseries\authors\par\bigskip
  1138.   \endgroup
  1139.   \vfil
  1140.   \ifx\@empty\addresses
  1141.   \else
  1142.     Author address:
  1143.     \@setaddresses
  1144.   \fi
  1145.   \vfill
  1146.   \newpage\thispagestyle{empty}
  1147.   \begin{center}
  1148.     \ifx\@empty\@subjclass\else\@setsubjclass\fi
  1149.     \ifx\@empty\@translators\else\vfil\@settranslators\fi
  1150.     \ifx\@empty\thankses\else\vfil\@setthanks\fi
  1151.   \end{center}
  1152.   \vfil
  1153.   \@setabstract
  1154.   \endgroup}
  1155. \def\@settranslators{\par
  1156.   \begingroup
  1157.   Translated by: \andify\@translators \uppercasenonmath\@translators
  1158.   \@translators \@@par
  1159.   \endgroup}
  1160. \hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies
  1161. an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses
  1162. apoth-e-o-sis ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship
  1163. as-ymp-tot-ic asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt
  1164. bank-rupt-cy bi-dif-fer-en-tial blue-print busier busiest
  1165. cat-a-stroph-ic cat-a-stroph-i-cally con-gress cross-hatched data-base
  1166. de-fin-i-tive de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics
  1167. econ-o-mist elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary
  1168. flow-chart for-mi-da-ble forth-right friv-o-lous ge-o-des-ic
  1169. ge-o-det-ic geo-met-ric griev-ance griev-ous griev-ous-ly
  1170. hexa-dec-i-mal ho-lo-no-my ho-mo-thetic ideals idio-syn-crasy
  1171. in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble key-stroke
  1172. lam-en-ta-ble light-weight mal-a-prop-ism man-u-script mar-gin-al
  1173. meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis
  1174. met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole
  1175. mo-nop-oly mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able
  1176. non-euclid-ean non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic
  1177. pa-rab-o-loid pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non
  1178. post-script pre-am-ble pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly
  1179. pseu-do-dif-fer-en-tial pseu-do-fi-nite pseu-do-nym qua-drat-ic
  1180. quad-ra-ture qua-si-smooth qua-si-sta-tion-ary qua-si-tri-an-gu-lar
  1181. quin-tes-sence quin-tes-sen-tial re-arrange-ment rec-tan-gle
  1182. ret-ri-bu-tion retro-fit retro-fit-ted right-eous right-eous-ness
  1183. ro-bot ro-bot-ics sched-ul-ing se-mes-ter semi-def-i-nite
  1184. semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign spe-cious
  1185. spher-oid spher-oid-al star-tling star-tling-ly sta-tis-tics
  1186. sto-chas-tic straight-est strange-ness strat-a-gem strong-hold
  1187. sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble
  1188. tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached
  1189. un-err-ing-ly white-space wide-spread wing-spread wretch-ed
  1190. wretch-ed-ly Eng-lish Euler-ian Feb-ru-ary Gauss-ian
  1191. Hamil-ton-ian Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg
  1192. Le-gendre Mar-kov-ian Noe-ther-ian No-vem-ber Rie-mann-ian Sep-tem-ber}
  1193. \def\calclayout{\advance\textheight -\headheight
  1194.   \advance\textheight -\headsep
  1195.   \oddsidemargin\paperwidth
  1196.   \advance\oddsidemargin -\textwidth
  1197.   \divide\oddsidemargin\tw@
  1198.   \ifdim\oddsidemargin<.5truein \oddsidemargin.5truein \fi
  1199.   \advance\oddsidemargin -1truein
  1200.   \evensidemargin\oddsidemargin
  1201.   \topmargin\paperheight \advance\topmargin -\textheight
  1202.   \advance\topmargin -\headheight \advance\topmargin -\headsep
  1203.   \divide\topmargin\tw@
  1204.   \ifdim\topmargin<.5truein \topmargin.5truein \fi
  1205.   \advance\topmargin -1truein\relax
  1206. }
  1207. \calclayout % initialize
  1208. \pagenumbering{arabic}
  1209. \pagestyle{headings}
  1210. \thispagestyle{plain}
  1211. \if@compatibility \else\endinput\fi
  1212. \def\tiny{\Tiny}
  1213. \def\defaultfont{\normalfont}
  1214. \def\rom{\textup}
  1215. \endinput
  1216. %% 
  1217. %% End of file `amsbook.cls'.
  1218.